package com.ibm.cloud.banking.trans.account.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

@ApiModel(value = "Account Opening Transaction Request Model")
public class Req111225 {//implements IAccountNoAware {

    /**
     * 开户产品
     */
    @ApiModelProperty(position=1,value="product's No.",example="100001",required=true)
    private String productNo;

    /**
     * 账户类型
     */
    @ApiModelProperty(position=2,value="account's type",example="1",required=true)
    private String accountCategory;

    /**
     * 主卡号
     */
    @ApiModelProperty(position=3,value="account's main card No.",example="1")
    private String mainCardNo;

    /**
     * 卡等级：1-普通卡；3-金卡；4-白金卡;-5-钻石卡
     */
    @ApiModelProperty(position=4,value="card level",example="1",required=true)
    private Integer cardLevel;

    /**
     * 交易金额
     */
    @ApiModelProperty(position=5,value="transaction amount",example="12.0",required=true)
    private BigDecimal transAmount;

    /**
     * 开户金额存入方式：0:现金 1:转账
     */
    @ApiModelProperty(position=6,value="Deposit type of account amount(cash/transfer)",example="0",required=true)
    private String depositType;

    /**
     * 对方账号
     */
    @ApiModelProperty(position=7,value="transfer out account No.",example="95599002300123")
    private String transOutAccountNo;

    /**
     * 对方户名
     */
    @ApiModelProperty(position=8,value="transfer out account name",example="Lisa")
    private String transOutAccountName;


    /**
     * 代理人姓名
     */
    @ApiModelProperty(position=9,value="agent's name",example="Cindy")
    private String agentName;

    /**
     * 代理人证件类型
     */
    @ApiModelProperty(position=10,value="agent's ID type",example="01")
    private String agentIdType;

    /**
     * 代理人证件号码
     */
    @ApiModelProperty(position=11,value="agent's ID No.",example="512324198809120014")
    private String agentIdNo;

    /**
     * 代理人联系方式
     */
    @ApiModelProperty(position=12,value="agent's contact",example="18618888999")
    private String agentPhone;

    /**
     * 账户密码
     */
    @ApiModelProperty(position=13,value="transaction password",example="123456", required=true)
    private String password;

    /**
     * 客户号
     */
    @ApiModelProperty(position=14,value="customer's code",example="10001001", required=true)
    private String customerNo;

    /**
     * 客户姓名
     */
    @ApiModelProperty(position=15,value="customer's name",example="Lisa", required=true)
    private String customerName;
    
    /**
     * 通存标志
     */
    @ApiModelProperty(position=16,value="account's dpflag",example="Y", required=true)
    private String dpFlag;
    
    /**
     * 通兑标志
     */
    @ApiModelProperty(position=17,value="account's dwflag",example="Y", required=true)
    private String dwFlag;

    /**
     * 支取方式
     */
    @ApiModelProperty(position=18,value="account's drwtype",example="0001", required=true)
    private String drwType;

//    @Override
//    @ApiModelProperty(hidden=true)
//    public String[] getAccountNo() {
//        return new String[0];
//    }


	public String getProductNo() {
		return productNo;
	}


	public void setProductNo(String productNo) {
		this.productNo = productNo;
	}


	public String getAccountCategory() {
		return accountCategory;
	}

	public void setAccountCategory(String accountCategory) {
		this.accountCategory = accountCategory;
	}

	public String getMainCardNo() {
		return mainCardNo;
	}


	public void setMainCardNo(String mainCardNo) {
		this.mainCardNo = mainCardNo;
	}


	public Integer getCardLevel() {
		return cardLevel;
	}


	public void setCardLevel(Integer cardLevel) {
		this.cardLevel = cardLevel;
	}


	public BigDecimal getTransAmount() {
		return transAmount;
	}


	public void setTransAmount(BigDecimal transAmount) {
		this.transAmount = transAmount;
	}


	public String getDepositType() {
		return depositType;
	}

	public void setDepositType(String depositType) {
		this.depositType = depositType;
	}

	public String getTransOutAccountNo() {
		return transOutAccountNo;
	}


	public void setTransOutAccountNo(String transOutAccountNo) {
		this.transOutAccountNo = transOutAccountNo;
	}


	public String getTransOutAccountName() {
		return transOutAccountName;
	}


	public void setTransOutAccountName(String transOutAccountName) {
		this.transOutAccountName = transOutAccountName;
	}


	public String getAgentName() {
		return agentName;
	}


	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}


	public String getAgentIdType() {
		return agentIdType;
	}


	public void setAgentIdType(String agentIdType) {
		this.agentIdType = agentIdType;
	}


	public String getAgentIdNo() {
		return agentIdNo;
	}


	public void setAgentIdNo(String agentIdNo) {
		this.agentIdNo = agentIdNo;
	}


	public String getAgentPhone() {
		return agentPhone;
	}


	public void setAgentPhone(String agentPhone) {
		this.agentPhone = agentPhone;
	}


	public String getPassword() {
		return password;
	}


	public void setPassword(String password) {
		this.password = password;
	}


	public String getCustomerNo() {
		return customerNo;
	}


	public void setCustomerNo(String customerNo) {
		this.customerNo = customerNo;
	}


	public String getCustomerName() {
		return customerName;
	}


	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}


	public String getDpFlag() {
		return dpFlag;
	}


	public void setDpFlag(String dpFlag) {
		this.dpFlag = dpFlag;
	}


	public String getDwFlag() {
		return dwFlag;
	}


	public void setDwFlag(String dwFlag) {
		this.dwFlag = dwFlag;
	}


	public String getDrwType() {
		return drwType;
	}


	public void setDrwType(String drwType) {
		this.drwType = drwType;
	}
    
    
}
